<?php

namespace app\controller\user;

use app\BaseController;
use think\Request;

class User extends BaseController
{
    // 登录接口
    // 登录接口
    public function login(Request $request)
    {
        // 假设这里已经验证了用户名和密码
        $username = $request->param('username');
        $password = $request->param('password');

        // 验证用户名和密码（这里只是一个示例，实际应用中需要连接数据库等）
        if ($username === 'admin' && $password === '123456') {
            // 用户验证成功，生成 JWT
            $uid = 1; // 假设用户的 ID 是 1
            $token = signToken($uid);

            // 验证 JWT
            $result = checkToken($token);
            print_r($result);
            print_r("-------------------");

            // 返回 JWT
            return json(['code' => 0, 'msg' => '登录成功', 'token' => $token]);
        } else {
            return json(['code' => 1, 'msg' => '用户名或密码错误']);
        }
    }

    public function register(): string
    {
        return "我是 register";
    }

    // 受保护接口
    public function protectedApi(Request $request)
    {
        // 获取请求体中的 JWT
        $body = $request->post();
        $token = isset($body['token']) ? $body['token'] : null;
        // 验证 JWT
        $result = checkToken($token);
        print_r($result);
        return json(['code' => 1, 'msg' => $result]);
        print_r("-----ssss--------------");
        // 验证成功，继续处理请求
        $userId = $result['data']['uid'];
        print_r("-----ssss---ddddd-----------");
        print_r($userId);
        if (!$token) {
            return json(['code' => 1, 'msg' => '缺少 token']);
        }

        // 输出调试信息
        echo "Received JWT: " . $token . "\n";

        // 验证 JWT
        $result = checkToken($token);

        if ($result['status'] !== 200) {
            return json(['code' => 1, 'msg' => $result['msg']]);
        }

        // 验证成功，继续处理请求
        $userId = $result['data']['uid'];
        return json(['code' => 0, 'msg' => '访问成功', 'user_id' => $userId]);
    }



}